package com.wang.classloader;
import com.wang.domain.User;
/**
 * 类加载机制
 */
public class TestClassLoader {
    public static void main(String[] args) {
        ClassLoader classLoader = User.class.getClassLoader();
        // 系统类加载器（System Class Loader），加载当前应用classpath的所有类，由java实现
        System.out.println("java.class.path：" + System.getProperty("java.class.path"));
        System.out.println("自定义类加载器：" + classLoader);
        // 扩展类加载器（Extension Class Loader），可以使用System.getProperty("java.ext.dirs")查看加载目录，由java实现
        System.out.println("java.ext.dirs：" +System.getProperty("java.ext.dirs"));
        System.out.println("父亲加载器：" + classLoader.getParent());
        // 启动类加载器（BootStrap Class Loader），可以使用System.getProperty("sun.boot.class.path")查看加载目录，由C++实现，所以打印不出来，输出null
        System.out.println("sun.boot.class.path：" + System.getProperty("sun.boot.class.path"));
        System.out.println("爷爷加载器：" + classLoader.getParent().getParent());
    }
}
